H2 ডেটাবেজে Triggers এবং Views দুটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ডেটাবেজের কার্যকারিতা এবং প্রক্রিয়া স্বয়ংক্রিয়ভাবে নিয়ন্ত্রণ করতে সাহায্য করে। এগুলি ডেটাবেজ অপারেশনগুলি আরও কার্যকরী, সুনির্দিষ্ট এবং সংগঠিত করতে সহায়ক।
Triggers হল অটো-এক্সিকিউটিং প্রোগ্রাম বা স্টোরড প্রসিজার যা ডেটাবেজে নির্দিষ্ট ইভেন্ট বা অপারেশন (যেমন INSERT
, UPDATE
, DELETE
) ঘটলে চালু হয়। যখন কোনো নির্দিষ্ট শর্ত পূর্ণ হয়, তখন ট্রিগারটি স্বয়ংক্রিয়ভাবে চালিত হয়। এটি ডেটাবেজে ডেটার ইন্টিগ্রিটি বজায় রাখতে এবং নির্দিষ্ট কাজগুলো অটোমেট করতে ব্যবহৃত হয়।
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name
FOR EACH ROW
BEGIN
-- Trigger Logic Here
END;
trigger_name
: ট্রিগারের নাম।INSERT | UPDATE | DELETE
: কোন ধরনের অপারেশনের জন্য ট্রিগারটি তৈরি করা হবে।table_name
: যে টেবিলের উপর ট্রিগারটি কার্যকর হবে।FOR EACH ROW
: প্রতিটি রেকর্ডের জন্য ট্রিগারটি কার্যকর হবে।ধরা যাক, আমাদের একটি students
টেবিল আছে, যেখানে ছাত্রদের তথ্য রয়েছে। আমরা চাই যে, যখন একটি নতুন ছাত্রের ডেটা INSERT
হবে, তখন তার নামের সাথে একটি সেল্যুলার নম্বর যোগ হয়ে যাক। এটি করতে একটি BEFORE INSERT
ট্রিগার ব্যবহার করা যাবে:
CREATE TRIGGER add_phone_number
BEFORE INSERT ON students
FOR EACH ROW
BEGIN
SET NEW.phone_number = '000-000-0000';
END;
এই ট্রিগারটি প্রত্যেকবার একটি নতুন ছাত্রের তথ্য ইনসার্ট করার আগে তার ফোন নম্বর সেট করবে।
Views হল ভার্চুয়াল টেবিল যা একটি অথবা একাধিক টেবিল থেকে ডেটা নিয়ে একটি কুয়েরির মাধ্যমে তৈরি করা হয়। এটি ডেটাবেজে সরাসরি সংরক্ষণ না হওয়া, কিন্তু কুয়েরির মাধ্যমে তৈরি হওয়া একটি অবজেক্ট। Views সাধারণত ব্যবহার করা হয় জটিল কুয়েরি লুকিয়ে রাখতে, ডেটার নিরাপত্তা নিশ্চিত করতে এবং বিভিন্ন অ্যাপ্লিকেশন উপাদানের জন্য সহজ ডেটা অ্যাক্সেস প্রদান করতে।
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
view_name
: ভিউটির নাম।SELECT
: কুয়েরি যা ডেটা থেকে ফিল্টার করবে।FROM table_name
: ডেটা যেখান থেকে আসবে।WHERE condition
: ফিল্টার শর্ত যা ডেটাকে সীমাবদ্ধ করবে।ধরা যাক, আমাদের একটি students
টেবিল আছে, যেখানে ছাত্রদের নাম, বয়স এবং গ্রেডের তথ্য রয়েছে। যদি আমরা শুধুমাত্র গ্রেড 'A' থাকা ছাত্রদের একটি ভিউ তৈরি করতে চাই, তাহলে আমরা নিচের কুয়েরি ব্যবহার করব:
CREATE VIEW top_students AS
SELECT name, age, grade
FROM students
WHERE grade = 'A';
এটি একটি top_students নামের ভিউ তৈরি করবে, যা শুধু গ্রেড 'A' পাওয়া ছাত্রদের তথ্য দেখাবে।
ভিউ ব্যবহার করার জন্য সাধারণত একইভাবে একটি সিলেক্ট কুয়েরি ব্যবহার করা হয়:
SELECT * FROM top_students;
এটি top_students
ভিউ থেকে সমস্ত ছাত্রের তথ্য দেখাবে, যাদের গ্রেড 'A'।
বৈশিষ্ট্য | Triggers | Views |
---|---|---|
কাজ | নির্দিষ্ট ডেটাবেজ ইভেন্টের (INSERT/UPDATE/DELETE) পর বা আগে স্বয়ংক্রিয়ভাবে কাজ করে | ডেটাবেজের একাধিক টেবিলের থেকে ডেটা নিয়ে একটি ভার্চুয়াল টেবিল তৈরি করে |
পাঠযোগ্যতা | ট্রিগারটি ডেটাবেজে স্বয়ংক্রিয়ভাবে কাজ করে, ব্যবহারকারীকে দেখতে হয় না | ভিউটি সাধারণত সরাসরি ব্যবহারকারীর কাছে প্রদর্শিত হয় |
ডেটা আপডেট | ট্রিগার ব্যবহারকারীর ডেটা ইনসার্ট/আপডেট/ডিলিট করার সময় ডেটা পরিবর্তন করতে পারে | ভিউ শুধুমাত্র একটি ভার্চুয়াল টেবিল; ডেটা পরিবর্তন করতে পারেনা, তবে এটিকে আপডেট করা যায় যদি সেটি উপযুক্ত হয় |
ব্যবহার | ডেটাবেজ ইন্টিগ্রিটি রক্ষা, ডেটা প্রক্রিয়া অটোমেট করা | জটিল কুয়েরি সহজ করতে, নির্দিষ্ট ডেটা উপস্থাপন করা |
Triggers এবং Views উভয়ই H2 ডেটাবেজের শক্তিশালী বৈশিষ্ট্য। ট্রিগার ব্যবহার করে আপনি ডেটাবেজে ইভেন্ট ভিত্তিক স্বয়ংক্রিয় কাজ করতে পারেন, যেমন ডেটা ইনসার্ট করার আগে বা পরে কোনো অ্যাকশন নেওয়া। ভিউ ব্যবহার করে আপনি কমপ্লেক্স কুয়েরি লুকিয়ে রাখতে পারেন এবং ব্যবহারকারীকে সহজে প্রয়োজনীয় ডেটা অ্যাক্সেস প্রদান করতে পারেন। এগুলি ডেটাবেজ ম্যানেজমেন্টে কার্যকরী এবং পারফরম্যান্স বৃদ্ধি করতে সহায়ক।
Read more